package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class JDBCDemo1 {
    public static void main(String[] args) {
/*
使用JDBC链接数据库的大致流程:
1:加载驱动
2:使用DriverManager(JDBC提供的)再通过加载的驱动与数据库建立链接:Connection对象
3:通过链接对象创建语句对象Statement
4:通过语句对象执行S0L语句
5:如果执行的是查询语句还会得到结果集ResultSet，对其进行遍历获取查询结果
6.关闭数据库链接
*/
        //1.加载驱动
        try {
            // 加载并注册JDBC驱动
            Class.forName("com.mysql.cj.jdbc.Driver");

            // 建立与MySQL数据库的连接
            // 这里包括了数据库的URL，包含了数据库的位置，连接参数，用户名和密码
            // 参数说明：
            // characterEncoding=utf8: 设置字符编码为UTF-8
            // useSSL=false: 禁用SSL连接
            // serverTimezone=Asia/Shanghai: 设置服务器时区为上海
            // rewriteBatchedStatements=true: 允许重新编写批处理语句
            Connection connection=DriverManager.getConnection(
                    //jdbc:mysql://localhost:3307/数据库名?一堆参数.
                    //数据库名就是我们学习数据库时，操作一个库前，进行:USE数据库名。
                    "jdbc:mysql://localhost:3306/mysql?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true",
                    "root",
                    "root");
            System.out.println("连接数据库成功!");

            Statement statement = connection.createStatement();
            String sql = "CREATE TABLE user(\n" +
                    "id INT PRIMARY KEY AUTO_INCREMENT,\n" +
                    "    username VARCHAR(30),\n" +
                    "    password VARCHAR(30),\n" +
                    "    nickname VARCHAR(30),\n" +
                    "    age INT(3)\n" +
                    ")";
                    statement.execute(sql);
            System.out.println("创建完毕");
            connection.close();
        } catch (Exception e) {
            // 捕获异常并打印异常信息
            e.printStackTrace();

        }
    }
}
